var pl;
Ext.onReady(function() {
	var In;
	var INDUSTRY_TYPE = new Ext.form.ComboBox({
				fieldLabel : '所属行业',
				hiddenName : 'INDUSTRY_TYPE',
				store : new Ext.data.SimpleStore({
							fields : ['INDUSTRY_TYPE', 'shouwName'],
							data : Ext.exampledata.INDUSTRY_TYPE
						}),
				displayField : 'shouwName',
				typeAhead : true,
				mode : 'local',
				valueField : 'INDUSTRY_TYPE',
				triggerAction : 'all',
				emptyText : 'IT...',
				selectOnFocus : true,
				anchor : '90%',
				width : 150
			});
	var COMPANY_PROPERTY = new Ext.form.ComboBox({
				fieldLabel : '客户性质',
				hiddenName : 'COMPANY_PROPERTY',
				store : new Ext.data.SimpleStore({
							fields : ['COMPANY_PROPERTY', 'showName'],
							data : Ext.exampledata.COMPANY_PROPERTY
						}),
				displayField : 'showName',
				typeAhead : true,
				mode : 'local',
				valueField : 'COMPANY_PROPERTY',
				triggerAction : 'all',
				emptyText : '民营企业',
				selectOnFocus : true,
				anchor : '90%',
				width : 150
			});
	var combox2 = new Ext.form.ComboBox({
				fieldLabel : '客户规模',
				hiddenName : 'state',
				store : new Ext.data.SimpleStore({
							fields : ['abbr', 'shouwName'],
							data : Ext.exampledata.states2
						}),
				displayField : 'shouwName',
				typeAhead : true,
				mode : 'local',
				triggerAction : 'all',
				emptyText : '0-10',
				selectOnFocus : true,
				anchor : '90%',
				width : 150
			});
	var IS_LISTED = new Ext.form.ComboBox({
				fieldLabel : '是否上市',
				hiddenName : 'IS_LISTED',
				store : new Ext.data.SimpleStore({
							fields : ['IS_LISTED', 'shouwName'],
							data : Ext.exampledata.IS_LISTED
						}),
				displayField : 'shouwName',
				typeAhead : true,
				mode : 'local',
				triggerAction : 'all',
				valueField : 'IS_LISTED',
				emptyText : '否',
				selectOnFocus : true,
				anchor : '90%',
				width : 150
			});
	var STATUS = new Ext.form.ComboBox({
				fieldLabel : '客户状态',
				hiddenName : 'STATUS',
				store : new Ext.data.SimpleStore({
							fields : ['STATUS', 'shouwName'],
							data : Ext.exampledata.STATUS
						}),
				displayField : 'shouwName',
				typeAhead : true,
				valueField : 'STATUS',
				mode : 'local',
				triggerAction : 'all',
				emptyText : '暂存',
				selectOnFocus : true,
				anchor : '90%',
				width : 150
			});

	var sm = new Ext.grid.CheckboxSelectionModel();
	var fm = Ext.form, Ed = Ext.grid.GridEditor;
	var cm = new Ext.grid.ColumnModel([sm, {
		header : "联系人ID",
		dataIndex : 'link_id',
		xtype : 'hidden'
			// editor : new Ed(new fm.TextField({
			// allowBlank : false
			// }))
		}, {
		header : "联系人姓名",
		dataIndex : 'link_name',
		editor : new Ed(new fm.TextField({
					allowBlank : false
				}))
	}, {
		header : "联系人电话",
		dataIndex : 'link_phone',
		align : 'right',
		editor : new Ed(new fm.TextField({
					allowBlank : false
				}))
	}, {
		header : "传真",
		dataIndex : 'link_fax',
		editor : new Ed(new fm.TextField({
					allowBlank : false
				}))
	}, {
		header : "联系人职务",
		dataIndex : 'link_position',
		editor : new Ed(new fm.TextField({
					allowBlank : false
				}))
	}]);
	cm.defaultSortable = true;
	var Plant = Ext.data.Record.create([{
				name : 'link_id',
				type : 'string'
			}, {
				name : 'link_name',
				type : 'string'
			}, {
				name : 'link_phone',
				type : 'string'
			}, {
				name : 'link_fax',
				type : 'string'
			}, {
				name : 'link_position',
				type : 'string'
			}]);

	var ds = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : 'js/linkman.xml'
						}),

				reader : new Ext.data.XmlReader({
							record : 'linkman'
						}, Plant)
			});

	var grid = new Ext.grid.EditorGridPanel({
		clicksToEdit : 1,
		title : '联系人',
		height : 250,
		width : 900,
		id : 'link_man_Grid',
		cm : cm,
		sm : sm,
		store : ds,
		tbar : [{
					text : '添加联系人',
					handler : function() {
						var initValue = {
							link_id : '11',
							link_name : 'sami',
							link_phone : '61371899-5500',
							link_fax : '61371899-5500',
							link_position : 'pm'
						};
						var p = new Plant();
						grid.stopEditing();
						ds.insert(0, p);
						grid.view.refresh();
						p.dirty = true;
						grid.startEditing(0, 0);
						p.modified = initValue;
						if (ds.modified.indexOf(p) == -1) {
							ds.modified.push(p);
						}
					}
				}, {
					text : '删除联系人',
					handler : function() {
						var length = grid.getSelectionModel().getSelections().length;
						if (length > 0) {
							Ext.MessageBox.show({
										title : '删除提示',
										msg : '数据即将被删除',
										buttons : Ext.MessageBox.OKCANCEL,
										fn : function(button) {
											if (button == "ok") {
												var rs = grid
														.getSelectionModel()
														.getSelections();
												for (var i = 0; i < length; i++) {
													// alert("以下数据将被删除 "
													// + Ext
													// .encode(rs[i].data));
													// alert(rs[i].id);
													ds.remove(ds
															.getById(rs[i].id));
												};
											}
											if (button == "cancel") {

												return;
											}
										}
									});
						} else {
							Ext.Msg.alert('警告', '无法删除未选记录');
						}
					}
				}],
		loadMask : true,
		loadMask : {
			msg : '数据加载中...'
		},
		autoExpandColumn : 1
	});

	// ds.load();
	var Companyform = new Ext.FormPanel({
				title : '客户注册',
				labelWidth : 90,
				url : '#',
				frame : true,
				bodyStyle : 'padding:5px 5px 0',
				width : 900,
				// renderTo : 'form-ct2',
				layout : 'column',
				items : [{
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										anchor : '90%',
										fieldLabel : '客户编码',
										name : 'company_code',
										id : 'company_code',
										allowBlank : false,// false,Test
										blankText : '编码不能为空',
										emptyText : '请输入编码'
									}]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										anchor : '90%',
										fieldLabel : '企业代码',
										name : 'ENTERPRISE_CODE',
										id : 'ENTERPRISE_CODE',
										allowBlank : false,// false,Test
										blankText : '编码不能为空',
										emptyText : '请输入编码'
									}]
						}, {
							columnWidth : 1,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										fieldLabel : '客户中文名称',
										anchor : '95%',
										name : 'COMPANY_CHINESE_CODE',
										id : 'COMPANY_CHINESE_CODE',
										allowBlank : false,// false,Test
										blankText : '客户中文名称不能为空',
										emptyText : '客户中文名称'
									}, {
										xtype : 'textfield',
										fieldLabel : '客户中文简称',
										anchor : '95%',
										name : 'COMPANY_SHORT_NAME',
										id : 'COMPANY_SHORT_NAME',
										allowBlank : true
										// false,Test
								}	, {
										xtype : 'textfield',
										fieldLabel : '客户英文全程',
										anchor : '95%',
										name : 'COMPANY_ENGLISH_CODE',
										id : 'COMPANY_ENGLISH_CODE',
										allowBlank : true
										// false,Test
								}]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'numberfield',
										anchor : '90%',
										fieldLabel : '注册资本',
										name : 'REGISTER_CAPITAL',
										id : 'REGISTER_CAPITAL',
										allowBlank : true
									}]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										anchor : '90%',
										fieldLabel : '法人代表',
										name : 'CORPORATION_REPRESENTATIVE',
										id : 'CORPORATION_REPRESENTATIVE',
										allowBlank : false
									}

							]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [COMPANY_PROPERTY]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [INDUSTRY_TYPE]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [combox2]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [IS_LISTED]
						}, {
							columnWidth : 1,
							layout : 'form',
							items : [{
								xtype : 'textfield',
								anchor : '95%',
								fieldLabel : '地址',
								name : 'ADDRESS',
								id : 'ADDRESS',
								allowBlank : false
									// false,Test
								}]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										anchor : '90%',
										fieldLabel : '电话',
										name : 'PHONE',
										id : 'PHONE',
										allowBlank : false
									}]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										anchor : '90%',
										fieldLabel : '传真',
										name : 'FAX',
										id : 'FAX',
										allowBlank : true
									}

							]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										anchor : '90%',
										fieldLabel : '邮编',
										name : 'POSTCODE',
										id : 'POSTCODE',
										allowBlank : false
									}]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										anchor : '90%',
										fieldLabel : '注册地址',
										name : 'REGISTER_ADDRESS',
										id : 'REGISTER_ADDRESS',
										allowBlank : true
									}

							]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										fieldLabel : '联系人电话',
										anchor : '90%',
										name : 'LINK_PHONE',
										id : 'LINK_PHONE',
										allowBlank : false
									}]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'textfield',
										fieldLabel : '联系人传真',
										anchor : '90%',
										name : 'LINK_FAX',
										id : 'LINK_FAX',
										allowBlank : true
									}]
						}, {
							columnWidth : .5,
							layout : 'form',

							items : [STATUS]
						}, {
							columnWidth : .5,
							layout : 'form',
							items : [{
										xtype : 'datefield',
										fieldLabel : '注册时间',
										anchor : '90%',
										name : 'CREATE_DATE',
										id : 'CREATE_DATE',
										allowBlank : false
									}]
						}, {
							columnWidth : 1,
							anchor : '100%',
							layout : 'form',
							items : [grid]
						}]
			});

	var currentUrl = window.location.href;
	var isUpdate = false;
	if (currentUrl == "http://localhost:8008/Payroll2/cusadmin/goCompanyEdit.action") {
		Ext.Ajax.request({
			url : 'PbCompanyManage!getAllPbCompany.action',
			success : function(result, request) {
				// 对json进行反编码
				var json = Ext.util.JSON.decode(result.responseText);
				Companyform.findById('company_code')
						.setValue(json.result.result[1].company_code);
				if (Companyform.findById('COMPANY_ENGLISH_CODE') != null) {
					Companyform
							.findById('COMPANY_ENGLISH_CODE')
							.setValue(json.result.result[0].company_english_code)
				};
				if (Companyform.findById('COMPANY_CHINESE_CODE') != null) {
					Companyform
							.findById('COMPANY_CHINESE_CODE')
							.setValue(json.result.result[0].company_chinese_code)
				};
				if (Companyform.findById('COMPANY_SHORT_NAME') != null) {
					Companyform.findById('COMPANY_SHORT_NAME')
							.setValue(json.result.result[0].company_short_name)
				};
				COMPANY_PROPERTY
						.setValue(json.result.result[0].company_property);
				INDUSTRY_TYPE.setValue(json.result.result[0].industry_type);
				STATUS.setValue(json.result.result[0].status);
				IS_LISTED.setValue(json.result.result[0].is_listed);
				if (Companyform.findById('COMPANY_TYPE') != null) {
					Companyform.findById('COMPANY_TYPE')
							.setValue(json.result.result[0].company_type)
				};

				if (Companyform.findById('COUNTRY_ID') != null) {
					Companyform.findById('COUNTRY_ID')
							.setValue(json.result.result[0].country_id)
				};
				if (Companyform.findById('COMPANY_URL') != null) {
					Companyform.findById('COMPANY_URL')
							.setValue(json.result.result[0].company_url)
				};
				if (Companyform.findById('REGISTER_ADDRESS') != null) {
					Companyform.findById('REGISTER_ADDRESS')
							.setValue(json.result.result[0].register_address)
				};
				if (Companyform.findById('BANK') != null) {
					Companyform.findById('BANK')
							.setValue(json.result.result[0].bank)
				};
				if (Companyform.findById('BANK_ACCOUNT') != null) {
					Companyform.findById('BANK_ACCOUNT')
							.setValue(json.result.result[0].bank_account)
				};
				if (Companyform.findById('IS_INDEPENDENT') != null) {
					Companyform.findById('IS_INDEPENDENT')
							.setValue(json.result.result[0].is_independent)
				};

				if (Companyform.findById('CORPORATION_REPRESENTATIVE') != null) {
					Companyform
							.findById('CORPORATION_REPRESENTATIVE')
							.setValue(json.result.result[0].corporation_representative)
				};
				if (Companyform.findById('REGISTER_CAPITAL') != null) {
					Companyform.findById('REGISTER_CAPITAL')
							.setValue(json.result.result[0].register_capital)
				};
				if (Companyform.findById('PAY_CARD_CODE') != null) {
					Companyform.findById('PAY_CARD_CODE')
							.setValue(json.result.result[0].pay_card_code)
				};
				if (Companyform.findById('SOCIAL_INSURANCE_CODE') != null) {
					Companyform
							.findById('SOCIAL_INSURANCE_CODE')
							.setValue(json.result.result[0].social_insurance_code)
				};
				if (Companyform.findById('ACC_FUND_COM_ACCOUNT') != null) {
					Companyform
							.findById('ACC_FUND_COM_ACCOUNT')
							.setValue(json.result.result[0].acc_fund_com_account)
				};
				if (Companyform.findById('SUPACC_FUND_COM_ACCOUNT') != null) {
					Companyform
							.findById('SUPACC_FUND_COM_ACCOUNT')
							.setValue(json.result.result[0].supacc_fund_com_account)
				};
				if (Companyform.findById('IS_VAILD') != null) {
					Companyform.findById('IS_VAILD')
							.setValue(json.result.result[0].is_valid)
				};
				if (Companyform.findById('CREATOR_CODE') != null) {
					Companyform.findById('CREATOR_CODE')
							.setValue(json.result.result[0].creator_code)
				};
				if (Companyform.findById('CREATE_DATE') != null) {
					Companyform.findById('CREATE_DATE')
							.setValue(json.result.result[0].create_date)
				};
				if (Companyform.findById('MODIFIER_CODE') != null) {
					Companyform.findById('MODIFIER_CODE')
							.setValue(json.result.result[0].modifier_code)
				};
				if (Companyform.findById('MODIFY_DATE') != null) {
					Companyform.findById('MODIFY_DATE')
							.setValue(json.result.result[0].modify_date)
				};
				if (Companyform.findById('START_DATE') != null) {
					Companyform.findById('START_DATE')
							.setValue(json.result.result[0].start_date)
				};
				if (Companyform.findById('END_DATE') != null) {
					Companyform.findById('END_DATE')
							.setValue(json.result.result[0].end_date)
				};
				if (Companyform.findById('START_ACCOUNT') != null) {
					Companyform.findById('START_ACCOUNT')
							.setValue(json.result.result[0].start_account)
				};
				if (Companyform.findById('END_ACCOUNT') != null) {
					Companyform.findById('END_ACCOUNT')
							.setValue(json.result.result[0].end_account)
				};
				if (Companyform.findById('CITY') != null) {
					Companyform.findById('CITY')
							.setValue(json.result.result[0].city)
				};
				if (Companyform.findById('ADDRESS') != null) {
					Companyform.findById('ADDRESS')
							.setValue(json.result.result[0].address)
				};
				if (Companyform.findById('PHONE') != null) {
					Companyform.findById('PHONE')
							.setValue(json.result.result[0].phone)
				};
				if (Companyform.findById('STATUS') != null) {
					Companyform.findById('STATUS')
							.setValue(json.result.result[0].status)
				};
				if (Companyform.findById('FAX') != null) {
					Companyform.findById('FAX')
							.setValue(json.result.result[0].fax)
				};
				if (Companyform.findById('POSTCODE') != null) {
					Companyform.findById('POSTCODE')
							.setValue(json.result.result[0].postcode)
				};
				if (Companyform.findById('DATA_COME') != null) {
					Companyform.findById('DATA_COME')
							.setValue(json.result.result[0].data_come)
				};
			},
			failure : Ext.Ajax.failure,
			params : {

		}
		});
		isUpdate = true;
	}

	Companyform.getForm().loadRecord({
				url : 'PbCompanyManage!getAllPbCompany.action'
			});
	var form1 = new Ext.FormPanel({
				title : '所购产品',
				labelWidth : 90,
				url : '#',
				frame : true,
				bodyStyle : 'padding:5px 5px 0',
				width : 900,
				// renderTo : 'markup',
				layout : 'column',
				columnWidth : 1,
				items : [{
							xtype : 'fieldset',
							columnWidth : 0.5,
							title : '社保',
							collapsible : true,
							autoHeight : true,
							defaults : {
								anchor : '50%'
							},
							defaultType : 'checkbox',
							items : [{
										fieldLabel : '社保设定',
										name : 'sbsd'
									}, {
										fieldLabel : '社保计算',
										name : 'sbjs'
									}, {
										fieldLabel : '社保档案',
										name : 'sbda'
									}]
						}, {
							xtype : 'fieldset',
							columnWidth : 0.5,
							title : '薪资',
							collapsible : true,
							autoHeight : true,
							defaults : {
								anchor : '50%'
							},
							defaultType : 'checkbox',
							items : [{
										fieldLabel : '薪资档案',
										name : 'xzda'

									}, {
										fieldLabel : '薪资计算',
										name : 'xzjs'
									}, {
										fieldLabel : '薪资设定',
										name : 'xzsd'
									}]
						}, {
							xtype : 'fieldset',
							columnWidth : 1,
							title : '其他',
							collapsible : true,
							autoHeight : true,
							defaults : {
								anchor : '50%'
							},
							defaultType : 'checkbox',
							items : [{
										fieldLabel : '客户管理',
										name : 'khgl'
									}, {
										fieldLabel : '雇员档案',
										name : 'gyda'
									}]
						}]

			});

	// -- table

	var hisPanel = new Ext.FormPanel({
				disabled : true,
				title : '历史记录'

			})

	var stopPanel = new Ext.FormPanel({
				title : '停用原因',
				labelWidth : 90,
				url : '#',
				frame : true,
				bodyStyle : 'padding:5px 5px 0',
				items : [{
							xtype : 'textarea',
							anchor : '90%',
							fieldLabel : '停用原因',
							name : 'stop_reason',
							id : 'stop_reason',
							allowBlank : true
						}, {
							xtype : 'textarea',
							anchor : '90%',
							height : 300,
							disabled : true,
							fieldLabel : '历史停用原因',
							name : 'stop_his_reason',
							id : 'stop_his_reason',
							allowBlank : true
						}]
			});

	// table-end
	var tabs = new Ext.TabPanel({
				// renderTo : 'tabs1',

				anchor : '90%',
				activeTab : 0,
				frame : true,
				defaults : {
					autoHeight : true
				},
				items : [Companyform, form1, grid, stopPanel, hisPanel]
			});

	pl = new Ext.Panel({
				title : '新客户注册',
				renderTo : document.body,
				items : [tabs],
				buttons : [{
					text : '确认',
					id : 'save',
					handler : function() {
						// alert(STATUS.getValue());
						// alert(IS_LISTED.getValue());
						// alert(COMPANY_PROPERTY.getValue());
						// alert(INDUSTRY_TYPE.getValue());
						var formEl = Companyform.findByType("textfield");
						var str = "{\"company\":{";
						for (var i = 0; i < formEl.length; i++) {
							if (formEl[i].getXType() == "combo") {
								var combox = formEl[i];
								str += "\"" + combox.getName().toLowerCase()
										+ "\":\"" + combox.getValue() + "\","
							} else {
								str += "\"" + formEl[i].name.toLowerCase()
										+ "\":\"" + formEl[i].getValue()
										+ "\","
							}
						}
						var company = str.substr(0, str.length - 1) + "}";
						var form1El = form1.findByType("checkbox");
						var product = "\"product\":{";
						for (var i = 0; i < form1El.length; i++) {
							product += "\"" + form1El[i].name + "\":\""
									+ form1El[i].getValue() + "\","
						}
						var linkmans = [];
						var modified = ds.modified.slice(0);
						for (var i = 0; i < modified.length; i++) {
							var record = modified[i];
							linkmans.push(record.data);
							// var fields = record.fields.keys;
							// for (var k = 0; k < fields.length; k++) {
							// var f_id = fields[k];
							// alert(f_id);
							// }
						}
						// alert(Ext.encode(linkmans));
						var product = product.substr(0, product.length - 1)
								+ "}";
						// alert(company + "," + product + "}");
						var actionurl = 'Company!testsave.action';
						if (isUpdate) {
							actionurl = 'Company!goUpdate.action';
						}
						alert(actionurl);
						Ext.Ajax.request({
									url : actionurl,
									method : 'post',
									params : {
										company : company + "," + product
												+ ", \"linkmans\":"
												+ Ext.encode(linkmans) + "}"
									},
									success : function() {
										Ext.Msg.alert('警告', '数据处理成功');
										history.go(-1);
									},
									failure : function() {
										Ext.Msg.alert('警告', '数据处理失败');
										history.go(-1);
									}
								});

					}
				}, {
					text : '取消',
					id : 'cancel',
					handler : function() {
						history.go(-1);
					}

				}]
			});
});
